﻿using System;
using SharpSqlAnalyzer.nodes;

namespace SharpSqlAnalyzer.stmt
{
	// Token: 0x020000B8 RID: 184
	public class TRaiseStmt : TCustomSqlStatement
	{
		// Token: 0x06000641 RID: 1601 RVA: 0x002FE650 File Offset: 0x002FC850
		public void setConditionName(TObjectName n)
		{
			this.conditionName = n;
		}

		// Token: 0x06000642 RID: 1602 RVA: 0x002FE659 File Offset: 0x002FC859
		public void setExprList(TExpressionList l)
		{
			this.exprList = l;
		}

		// Token: 0x06000643 RID: 1603 RVA: 0x002FE662 File Offset: 0x002FC862
		public void setFormatString(TConstant c)
		{
			this.formatString = c;
		}

		// Token: 0x06000644 RID: 1604 RVA: 0x002FE66B File Offset: 0x002FC86B
		public void setSqlState(TConstant c)
		{
			this.sqlState = c;
		}

		// Token: 0x06000645 RID: 1605 RVA: 0x002FE674 File Offset: 0x002FC874
		public TRaiseStmt() : this(EDbVendor.dbvoracle)
		{
		}

		// Token: 0x06000646 RID: 1606 RVA: 0x002FE67E File Offset: 0x002FC87E
		public TRaiseStmt(EDbVendor dbvendor) : base(dbvendor)
		{
			this.sqlstatementtype = ESqlStatementType.sstl_raisestmt;
		}

		// Token: 0x06000647 RID: 1607 RVA: 0x002FE68F File Offset: 0x002FC88F
		internal override void buildsql()
		{
		}

		// Token: 0x06000648 RID: 1608 RVA: 0x002FE691 File Offset: 0x002FC891
		internal override void clear()
		{
		}

		// Token: 0x06000649 RID: 1609 RVA: 0x002FE693 File Offset: 0x002FC893
		internal override string getasprettytext()
		{
			return "";
		}

		// Token: 0x0600064A RID: 1610 RVA: 0x002FE69A File Offset: 0x002FC89A
		internal virtual void iterate(TVisitorAbs pvisitor)
		{
		}

		// Token: 0x17000113 RID: 275
		// (get) Token: 0x0600064B RID: 1611 RVA: 0x002FE69C File Offset: 0x002FC89C
		// (set) Token: 0x0600064C RID: 1612 RVA: 0x002FE6A4 File Offset: 0x002FC8A4
		public virtual TObjectName ExceptionName
		{
			get
			{
				return this.exceptionName;
			}
			set
			{
				this.exceptionName = value;
			}
		}

		// Token: 0x17000114 RID: 276
		// (get) Token: 0x0600064E RID: 1614 RVA: 0x002FE6B6 File Offset: 0x002FC8B6
		// (set) Token: 0x0600064D RID: 1613 RVA: 0x002FE6AD File Offset: 0x002FC8AD
		public virtual TExpressionList ExprList
		{
			get
			{
				return this.exprList;
			}
			set
			{
				this.exprList = value;
			}
		}

		// Token: 0x17000115 RID: 277
		// (get) Token: 0x06000650 RID: 1616 RVA: 0x002FE6C7 File Offset: 0x002FC8C7
		// (set) Token: 0x0600064F RID: 1615 RVA: 0x002FE6BE File Offset: 0x002FC8BE
		public virtual TObjectName ConditionName
		{
			get
			{
				return this.conditionName;
			}
			set
			{
				this.conditionName = value;
			}
		}

		// Token: 0x17000116 RID: 278
		// (get) Token: 0x06000652 RID: 1618 RVA: 0x002FE6D8 File Offset: 0x002FC8D8
		// (set) Token: 0x06000651 RID: 1617 RVA: 0x002FE6CF File Offset: 0x002FC8CF
		public virtual TConstant FormatString
		{
			get
			{
				return this.formatString;
			}
			set
			{
				this.formatString = value;
			}
		}

		// Token: 0x17000117 RID: 279
		// (get) Token: 0x06000653 RID: 1619 RVA: 0x002FE6E0 File Offset: 0x002FC8E0
		// (set) Token: 0x06000654 RID: 1620 RVA: 0x002FE6E8 File Offset: 0x002FC8E8
		public virtual TExpressionList Options
		{
			get
			{
				return this.options;
			}
			set
			{
				this.options = value;
			}
		}

		// Token: 0x17000118 RID: 280
		// (get) Token: 0x06000656 RID: 1622 RVA: 0x002FE6FA File Offset: 0x002FC8FA
		// (set) Token: 0x06000655 RID: 1621 RVA: 0x002FE6F1 File Offset: 0x002FC8F1
		public virtual TConstant SqlState
		{
			get
			{
				return this.sqlState;
			}
			set
			{
				this.sqlState = value;
			}
		}

		// Token: 0x17000119 RID: 281
		// (get) Token: 0x06000657 RID: 1623 RVA: 0x002FE702 File Offset: 0x002FC902
		// (set) Token: 0x06000658 RID: 1624 RVA: 0x002FE70A File Offset: 0x002FC90A
		public virtual ERaiseLevel RaiseLevel
		{
			get
			{
				return this.raiseLevel;
			}
			set
			{
				this.raiseLevel = value;
			}
		}

		// Token: 0x06000659 RID: 1625 RVA: 0x002FE713 File Offset: 0x002FC913
		public override void init(object arg1, object arg2)
		{
			this.init(arg1);
			this.options = (TExpressionList)arg2;
		}

		// Token: 0x0600065A RID: 1626 RVA: 0x002FE728 File Offset: 0x002FC928
		public override void init(object arg1)
		{
			if (arg1 is TObjectName)
			{
				this.exceptionName = (TObjectName)arg1;
				return;
			}
			if (arg1 is TSourceToken)
			{
				switch (((TSourceToken)arg1).tokencode)
				{
				case 542:
					this.raiseLevel = ERaiseLevel.debug;
					return;
				case 543:
					this.raiseLevel = ERaiseLevel.exception;
					break;
				case 544:
					this.raiseLevel = ERaiseLevel.notice;
					return;
				case 545:
					this.raiseLevel = ERaiseLevel.info;
					return;
				case 546:
					this.raiseLevel = ERaiseLevel.warning;
					return;
				case 547:
					this.raiseLevel = ERaiseLevel.log;
					return;
				default:
					return;
				}
			}
		}

		// Token: 0x0600065B RID: 1627 RVA: 0x002FE7B2 File Offset: 0x002FC9B2
		public override int doParseStatement(TCustomSqlStatement psql)
		{
			base.doParseStatement(psql);
			return 0;
		}

		// Token: 0x0600065C RID: 1628 RVA: 0x002FE7BD File Offset: 0x002FC9BD
		public override void accept(TParseTreeVisitor v)
		{
			v.preVisit(this);
			v.postVisit(this);
		}

		// Token: 0x0600065D RID: 1629 RVA: 0x002FE7CD File Offset: 0x002FC9CD
		public override void acceptChildren(TParseTreeVisitor v)
		{
			v.preVisit(this);
			v.postVisit(this);
		}

		// Token: 0x04001187 RID: 4487
		private TObjectName exceptionName;

		// Token: 0x04001188 RID: 4488
		private TExpressionList exprList;

		// Token: 0x04001189 RID: 4489
		private TObjectName conditionName;

		// Token: 0x0400118A RID: 4490
		private TConstant formatString;

		// Token: 0x0400118B RID: 4491
		private TExpressionList options;

		// Token: 0x0400118C RID: 4492
		private TConstant sqlState;

		// Token: 0x0400118D RID: 4493
		private ERaiseLevel raiseLevel;
	}
}
